import org.junit.jupiter.api.Test;

import java.lang.reflect.Field;

/**
 * 创建pojo对象 对属性赋值
 *
 */
public class JdbcTest2 {
    @Test
    public void createObj(){
        try {
            Class<?> c = Class.forName("com.example.day03homework.POJO.Topic");
            //使用反射创建对象
            Object o =c.newInstance();
            System.out.println(o);
            //通过反射调用成员变量
            Field[] declaredFields =c.getDeclaredFields();
            System.out.println(declaredFields);
            //遍历属性
           // for (Field f:declaredFields){
                //字段的顺序 与数据库的顺序可能不一致，但是可以拿到字段的名称
               // String name = f.getName();
              //  System.out.println(name);
                //调用SetXX方法
                //直接给属性赋值
               // f.setAccessible(true);  //可以访问
                //赋值操作   object  value
            declaredFields[0].setAccessible(true);
                declaredFields[0].set(o,11);

            declaredFields[1].setAccessible(true);
            declaredFields[1].set(o,"赋值成功");
            System.out.println(o);


        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
            e.printStackTrace();
        }


    }

}
